---
id: 657f465f8e718b19c5105ae5
title: Крок 19
challengeType: 20
dashedName: step-19
---

# --description--

Останньою частиною головоломки є сам вхідний рядок. Розуміння списку має знати про об’єкт, над яким виконуватиме ітерацію.

У цьому випадку вам потрібно ітерувати над всіма символами рядка.

```py
snake_cased_char_list = [
    '_' + char.lower() if char.isupper()
    else char
    for char in pascal_or_camel_cased_string
]
```

На цьому все. Ці три рядки коду виконують те саме завдання, що й цикл `for`, над яким ви працювали раніше, але вони чистіші та дещо швидші.

Додайте останній рядок коду, щоб ітерувати над символами рядка в розумінні списку та переконайтеся, що написали його в квадратних дужках.

# --hints--

Додайте `for char in pascal_or_camel_cased_string` до квадратних дужок `snake_cased_char_list` після `else char`.

```js
({
    test: () => {
        const transformedCode = code.replace(/\r/g, "");
        const convert_to_snake_case = __helpers.python.getDef("\n" + transformedCode, "convert_to_snake_case");
        const { function_body } = convert_to_snake_case;

        assert.match(function_body, / +snake_cased_char_list\s*=\s*\[\s*'_'\s*\+\s*char\.lower\(\s*\)\s+if\s+char\.isupper\(\s*\)\s*else\s*char\s*for\s+char\s+in\s+pascal_or_camel_cased_string\s*\]/);
    }
})
```

# --seed--

## --seed-contents--

```py
def convert_to_snake_case(pascal_or_camel_cased_string):
    # snake_cased_char_list = []
    # for char in pascal_or_camel_cased_string:
    #     if char.isupper():
    #       converted_character = '_' + char.lower()
    #       snake_cased_char_list.append(converted_character)
    #     else:
    #         snake_cased_char_list.append(char)
    # snake_cased_string = ''.join(snake_cased_char_list)
    # clean_snake_cased_string = snake_cased_string.strip('_')

    # return clean_snake_cased_string

--fcc-editable-region--
    snake_cased_char_list = [
        '_' + char.lower() if char.isupper()
        else char

    ]
--fcc-editable-region--



def main():
    print(convert_to_snake_case('aLongAndComplexString'))

if __name__ == '__main__':
    main()
```
